请实现一个计票统计系统。你会收到很多投票,其中有合法的也有不合法的,请统计每个候选人得票的数量以及不合法的票数。
(注:不合法的投票指的是投票的名字不存在n个候选人的名字中!!)
数据范围:每组输入中候选人数量满足 ,总票数量满足
第一行输入候选人的人数n,第二行输入n个候选人的名字(均为大写字母的字符串),第三行输入投票人的人数,第四行输入投票。
按照输入的顺序,每行输出候选人的名字和得票数量(以" : "隔开,注:英文冒号左右两边都有一个空格!),最后一行输出不合法的票数,格式为"Invalid : "+不合法的票数。
4 A B C D 8 A D E CF A GG A B
A : 3 B : 1 C : 0 D : 1 Invalid : 3
E CF GG三张票是无效的,所以Invalid的数量是3.
n,name_list,m,vote_list = int(input()),input().split(),int(input()),input().split() dic = {key:vote_list.count(key) for key in name_list} dic['Invalid'] = m - sum(dic.values()) print(*[key+' : '+str(dic[key]) for key in list(dic.keys())],sep='\n')
while True: try: n = int(input()) # 输入候选人的数量 name1 = list(input().split()) # 用列表存储输入有序的候选人名字 name2 = [] # 用一个空列表初始化候选人得票数 for i in range(n): name2.append(0) name = dict(zip(name1, name2)) # 用字典存储输入候选人的名字及对应得票数 m = int(input()) # 输入投票人的数量 vote = list(input().split()) # 用列表存储输入投票结果 Invalid = 0 # 无效投票计数 for i in range(m): if vote[i] in name: for j in name.keys(): if j == vote[i]: name[j] += 1 else: Invalid += 1 for i in range(n): print(name1[i], ':', name[name1[i]]) # 注意字典是无序的,值要用键来查找 print('Invalid', ':', Invalid) except: break
while True: try: person_num = int(input()) keys = input().split(' ') votes_num = int(input()) votes_lst = input().split(' ') mid_dic = {} for i in keys: mid_dic[i] = 0 invalid = 0 for vote in votes_lst: if mid_dic.get(vote, 'notfound') != 'notfound': mid_dic[vote] += 1 else: invalid += 1 for i in keys: print('{} : {}'.format(i, mid_dic[i])) print('Invalid : {}'.format(invalid)) except: break
n = int(input()) name = input().split() m = int(input()) vote = input().split() dics = {i:0 for i in name} dics.setdefault('Invalid',0) for i in vote: if i in name: dics[i] += 1 else: dics['Invalid'] += 1 for key,value in dics.items(): print(f'{key} : {value}')
num=int(input()) name=input() tnum=int(input()) t=input() l = name.split(' ') s = t.split(' ') d={} for i in l: d[i]=0 d['Invalid']=0 for i in s: if i in l: d[i]+=1 else: d['Invalid']+=1 for k,v in d.items() : print(str(k)+' : '+str(v))
ip = int(input()) name = input().split() candi = {} for i in range(ip): tmp = name[i] candi[tmp] = 0 num = int(input()) votes = input().split() Invalid = 0 for i in range(num): tmp = votes[i] if tmp in candi.keys(): candi[tmp] += 1 else: Invalid += 1 for key, value in candi.items(): print("{} : {}".format(key, value)) print("{} : {}".format("Invalid", Invalid))
n = int(input()) people = input().split(" ") m = int(input()) piao = input().split(" ") mydic={} for i in people: for j in piao: mydic[i] = mydic.get(i, 0) if i == j: mydic[i]=mydic.get(i,0)+1 count_in = 0 for i in people: for j in piao: if j == i: count_in += 1 mydic["Invalid"]=len(piao)-count_in for key,value in mydic.items(): print(key,end=" : ") print(value)
while True: try: n=int(input()) data=input().split(' ') n1=int(input()) data1=input().split(' ') d=dict() for ch in data: if ch in data1: num=data1.count(ch) d[ch]=num else: d[ch]=0 d['Invalid']=abs(sum(d.values())-n1) for ind,val in d.items(): print(str(ind)+' '+': '+str(val)) except: break